a = 10
print(type(a))
# a的变量类型是由初始化决定的，根据初始化的值的数据类型来确定的
# python中的变量类型，不需要在定义变量的时候显式声明
# 在python中，int 能够表示的数据范围，是"无穷的"
# python的int是可以根据要表示的数据的大小，自动扩容
# 因此，python中就没有long int 这样的类型了
# python中表示整数的数据类型只有int，short int，char类型都不存在

b = 0.5
print(type(b))
# b这个变量在初始化的时候给了一个小数
# 虽然在python里将b称为'float'类型的数据，
# 但是其实是和C语言中的double类型的变量是对等的
# b这个变量的取值范围和C语言中的double类型

# python中使用引号把一系列的字符 引起来 就构成了字符串
# 引号使用“” 或者 ‘’ 都可以
# 字符串的数据类型记为str
c = 'hello'
print(type(c))
d = "hello"
print(type(d))

# 如果字符串里面包含了双引号，要表示字符串，则可用单引号引起来
# 如果字符串里面包含了单引号，要表示字符串，则可用双引号引起来
e = 'My name is "shimaoqing"'
print(type(e))

# 如果字符串里面既包含了单引号，又有双引号，要表示字符串，
# 则可用三引号'''引起来
f = '''My 'name' is "shimaoqing"'''
print(f)

# 对于len，其参数只能是一个字符串类型的数据，不能是int or float
print(len(d))

# 形如如下三行的代码就是字符串拼接
# 把后面一个字符串拼接到前一个字符串的末尾
# 且程序的执行并不会使得原来的两个字符串有任何改动
# python中的这种对于print的语法，不能将字符串和数字相加
# 比如
'''
这样的程序是错的
b1 = "hello"
b2 = 10
print(b1 + b2)
'''
# 在python中，报错有两种情况
# 1、语法错误：在程序运行之前，python解释器 就能把错误识别出来
# 2、运行错误：在程序运行之前，识别不出来的错误，必须要执行相应代码才能发现问题

a1 = "hello"
a2 = "world"
print(a1 + a2)
